[INFO] cloning repository https://github.com/WraithN/FiCode
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WraithN/FiCode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWraithN%2FFiCode", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWraithN%2FFiCode'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 74c01c20037fddb76c2bea8f96ce0805df52cacb
[INFO] fixing WraithN/FiCode against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWraithN%2FFiCode" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WraithN/FiCode
[INFO] finished tweaking git repo https://github.com/WraithN/FiCode
[INFO] tweaked toml for git repo https://github.com/WraithN/FiCode written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WraithN/FiCode on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WraithN/FiCode already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0
[INFO] running `Command { std: "docker" "start" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/shared/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/utils/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/tui/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating src-tauri/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling openssl-sys v0.9.115
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling aws-lc-sys v0.39.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling openssl v0.10.79
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling proc-macro-crate v2.0.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling gdk-sys v0.18.2
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.12
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling web_atoms v0.2.4
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking pin-project v1.1.12
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling atk-sys v0.18.2
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking opentelemetry v0.27.1
[INFO] [stderr]    Compiling serde_with_macros v3.20.0
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.7
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]     Checking prost v0.13.5
[INFO] [stderr]     Checking rand v0.9.3
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling normpath v1.5.1
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling base62 v2.2.4
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling tendril v0.5.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]     Checking ulid v1.2.1
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]     Checking opentelemetry_sdk v0.27.1
[INFO] [stderr]     Checking xml5ever v0.18.1
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling selectors v0.36.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling gio v0.18.4
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]     Checking markup5ever_rcdom v0.3.0
[INFO] [stderr]     Checking inotify v0.11.1
[INFO] [stderr]     Checking opentelemetry-proto v0.27.0
[INFO] [stderr]    Compiling cssparser v0.36.0
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]    Compiling markup5ever v0.38.0
[INFO] [stderr]     Checking opentelemetry-http v0.27.0
[INFO] [stderr]    Compiling gtk-sys v0.18.2
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling servo_arc v0.4.3
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling cfb v0.7.3
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]     Checking opentelemetry-otlp v0.27.0
[INFO] [stderr]    Compiling html5ever v0.38.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]     Checking html2md v0.2.15
[INFO] [stderr]    Compiling unic-ucd-ident v0.9.0
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking fi-code-shared v0.1.0 (/opt/rustwide/workdir/crates/shared)
[INFO] [stderr]    Migrating crates/shared/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking jsonc-parser v0.32.3
[INFO] [stderr]    Compiling jsonptr v0.6.3
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]     Checking opentelemetry-semantic-conventions v0.27.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling dom_query v0.27.0
[INFO] [stderr]    Compiling json-patch v3.0.1
[INFO] [stderr]    Compiling plist v1.9.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling urlpattern v0.3.0
[INFO] [stderr]    Compiling serde-untagged v0.1.9
[INFO] [stderr]    Compiling infer v0.19.0
[INFO] [stderr]    Compiling ctor v0.8.0
[INFO] [stderr]    Compiling serde_with v3.20.0
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling javascriptcore-rs-sys v1.1.1
[INFO] [stderr]    Compiling soup3-sys v0.5.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling gtk v0.18.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling tauri-utils v2.9.1
[INFO] [stderr]     Checking atk v0.18.2
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]    Compiling embed-resource v3.0.9
[INFO] [stderr]    Compiling webkit2gtk-sys v2.0.2
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling cargo_toml v0.22.3
[INFO] [stderr]    Compiling tauri-winres v0.3.6
[INFO] [stderr]    Compiling gtk3-macros v0.18.2
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling gdkx11-sys v0.18.2
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]     Checking javascriptcore-rs v1.1.2
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking soup3 v0.5.0
[INFO] [stderr]     Checking gdk v0.18.2
[INFO] [stderr]    Compiling sealed v0.6.0
[INFO] [stderr]    Compiling dlopen2_derive v0.4.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking is-docker v0.2.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling tauri-runtime v2.11.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling wry v0.55.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling tauri-build v2.6.1
[INFO] [stderr]    Compiling tauri-plugin v2.6.1
[INFO] [stderr]     Checking dlopen2 v0.8.2
[INFO] [stderr]     Checking is-wsl v0.4.0
[INFO] [stderr]    Compiling synthez-core v0.4.0
[INFO] [stderr]     Checking dbus v0.9.11
[INFO] [stderr]    Compiling ico v0.5.0
[INFO] [stderr]     Checking gdkx11 v0.18.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking gdkwayland-sys v0.18.2
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]    Compiling tauri-runtime-wry v2.11.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling peg-runtime v0.6.3
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling peg-macros v0.6.3
[INFO] [stderr]     Checking open v5.3.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]    Compiling tauri-codegen v2.6.1
[INFO] [stderr]    Compiling synthez-codegen v0.4.0
[INFO] [stderr]     Checking onig v6.5.3
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking keyboard-types v0.7.0
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling gherkin v0.16.0
[INFO] [stderr]    Compiling typed-builder-macro v0.23.2
[INFO] [stderr]    Compiling serialize-to-javascript-impl v0.1.2
[INFO] [stderr]     Checking os_pipe v1.2.3
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling nom_locate v5.0.0
[INFO] [stderr]     Checking smawk v0.3.2
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]    Compiling cucumber-expressions v0.5.0
[INFO] [stderr]     Checking peg v0.6.3
[INFO] [stderr]     Checking sigchld v0.2.4
[INFO] [stderr]     Checking serialize-to-javascript v0.1.2
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]    Compiling synthez v0.4.0
[INFO] [stderr]     Checking typed-builder v0.23.2
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling cucumber-codegen v0.23.0
[INFO] [stderr]     Checking shared_child v1.1.1
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]     Checking fi-code-utils v0.1.0 (/opt/rustwide/workdir/crates/utils)
[INFO] [stderr]    Migrating crates/utils/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]     Checking insta v1.47.2
[INFO] [stderr]     Checking wiremock v0.6.5
[INFO] [stderr]    Compiling tauri v2.11.1
[INFO] [stderr]    Compiling tauri-plugin-shell v2.3.5
[INFO] [stderr]    Compiling tauri-macros v2.6.1
[INFO] [stderr]    Compiling fi-code-desktop v0.1.0 (/opt/rustwide/workdir/src-tauri)
[INFO] [stderr]     Checking cucumber v0.23.0
[INFO] [stderr]    Migrating src-tauri/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking rustls-webpki v0.103.11
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.8
[INFO] [stderr]     Checking reqwest v0.13.2
[INFO] [stderr]     Checking fi-code-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Migrating crates/core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking webkit2gtk v2.0.2
[INFO] [stderr]     Checking tao v0.35.2
[INFO] [stderr]     Checking muda v0.19.1
[INFO] [stderr]        Fixed crates/core/src/utils/log.rs (3 fixes)
[INFO] [stderr]        Fixed crates/core/src/tools/mod.rs (1 fix)
[INFO] [stderr]        Fixed crates/core/src/agent/runner.rs (6 fixes)
[INFO] [stderr]        Fixed crates/core/src/agent/agent.rs (6 fixes)
[INFO] [stderr]        Fixed crates/core/src/permission/permission.rs (1 fix)
[INFO] [stderr]        Fixed crates/core/src/server/api/chat_api.rs (1 fix)
[INFO] [stderr]        Fixed crates/core/src/provider/base_client.rs (1 fix)
[INFO] [stderr]        Fixed crates/core/src/utils/log_store.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  90 |               match manager.connect_and_load_tools(name, server_config).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                   |
[INFO] [stdout]     |                     |                                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                     |                                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                   Ok(()) => {
[INFO] [stdout]  92 | /                     manager
[INFO] [stdout]  93 | |                         .status
[INFO] [stdout]  94 | |                         .write()
[INFO] [stdout]  95 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |   |
[INFO] [stdout]     | |                          |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                          |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 | /                     manager
[INFO] [stdout] 105 | |                         .status
[INFO] [stdout] 106 | |                         .write()
[INFO] [stdout] 107 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |__________________________|___`#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:238:56
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 let client = {
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `client` calls a custom destructor
[INFO] [stdout]     |                     `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                 client.call_tool(tool_name, arguments).await
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 239 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let client = {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |         match client.call_tool(tool_name, arguments.clone()).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                              |
[INFO] [stdout]     |               |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:225:62
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let client = {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |         match client.call_tool(tool_name, arguments.clone()).await {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/mcp/manager.rs:258:19
[INFO] [stdout]      |
[INFO] [stdout]  256 |             tokio::time::sleep(Duration::from_secs(2_u64.pow(attempt - 1))).await;
[INFO] [stdout]      |             ---------------------------------------------------------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `__awaitee` calls a custom destructor
[INFO] [stdout]      |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  257 |
[INFO] [stdout]  258 |             match Self::create_client(server_name, config).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                        |
[INFO] [stdout]      |                   |                                        this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                   |                                        up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  259 |                 Ok(client) => {
[INFO] [stdout]      |                    ------
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `client` calls a custom destructor
[INFO] [stdout]      |                    `client` will be dropped later as of Edition 2024
[INFO] [stdout]  260 |                     let mut clients = self.clients.write().await;
[INFO] [stdout]      |                         -----------   --------------------------
[INFO] [stdout]      |                         |             |                    |
[INFO] [stdout]      |                         |             |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |             |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         `clients` calls a custom destructor
[INFO] [stdout]      |                         `clients` will be dropped later as of Edition 2024
[INFO] [stdout]  261 |                     clients.insert(server_name.to_string(), client);
[INFO] [stdout]      |                     -----------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  262 |
[INFO] [stdout]  263 |                     let mut status = self.status.write().await;
[INFO] [stdout]      |                         ----------   -------------------------
[INFO] [stdout]      |                         |            |                   |
[INFO] [stdout]      |                         |            |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                         |            |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         |            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         |            `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         `status` calls a custom destructor
[INFO] [stdout]      |                         `status` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  279 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `clients` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `status` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/permission/permission.rs:198:11
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let mut map = PERMISSION_RESPONSES.lock().await;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `map` calls a custom destructor
[INFO] [stdout]     |         `map` will be dropped later as of Edition 2024
[INFO] [stdout] 198 |     match map.remove(tool_call_id) { Some(tx) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 207 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `map` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/anthropic_client.rs:494:29
[INFO] [stdout]     |
[INFO] [stdout] 494 |       while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                  |
[INFO] [stdout]     |                               |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 495 |           let chunk = chunk?;
[INFO] [stdout]     |               -----   ------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `chunk` calls a custom destructor
[INFO] [stdout]     |               `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |               let json: serde_json::Value = serde_json::from_str(data)
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 529 | |                 .with_context(|| format!("Failed to parse Anthropic SSE data: {}", data))?;
[INFO] [stdout]     | |                                                                                          -
[INFO] [stdout]     | |                                                                                          |
[INFO] [stdout]     | |__________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 562 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |       while let Some(chunk_result) = byte_stream.next().await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 408 |           let chunk = chunk_result.with_context(|| {
[INFO] [stdout]     |  _____________-----___-
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `chunk` calls a custom destructor
[INFO] [stdout]     | |             `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 409 | |             "SSE stream interrupted while reading chunk. \
[INFO] [stdout] 410 | |              This usually means the server closed the connection unexpectedly, \
[INFO] [stdout] 411 | |              or the response body could not be decoded. \
[INFO] [stdout] 412 | |              Check network stability and API availability."
[INFO] [stdout] 413 | |         })?;
[INFO] [stdout]     | |           -
[INFO] [stdout]     | |           |
[INFO] [stdout]     | |___________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               let json: serde_json::Value = serde_json::from_str(data)
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout]     | |___________________________________________|
[INFO] [stdout] 444 | |                 .with_context(|| format!("Failed to parse OpenAI SSE data: {}", data))?;
[INFO] [stdout]     | |                                                                                       -
[INFO] [stdout]     | |_______________________________________________________________________________________|
[INFO] [stdout]     | |_______________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:957:15
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let mcp = get_mcp_manager().ok_or("MCP manager not initialized".to_string())?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `mcp` calls a custom destructor
[INFO] [stdout]     |             `mcp` will be dropped later as of Edition 2024
[INFO] [stdout] 957 |         match mcp.tool_call(name, input_json).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `mcp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/tools/mod.rs:940:18
[INFO] [stdout]      |
[INFO] [stdout]  928 |         let event_tx_opt = { EVENT_TX.read().unwrap().clone() };
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `event_tx_opt` calls a custom destructor
[INFO] [stdout]      |             `event_tx_opt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  940 |         match rx.await {
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  948 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:1245:1
[INFO] [stdout]      |
[INFO] [stdout] 1245 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_tx_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:957:47
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let mcp = get_mcp_manager().ok_or("MCP manager not initialized".to_string())?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `mcp` calls a custom destructor
[INFO] [stdout]     |             `mcp` will be dropped later as of Edition 2024
[INFO] [stdout] 957 |         match mcp.tool_call(name, input_json).await {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `mcp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/api/chat_api.rs:531:11
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let cfg = match state.config.read() {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `cfg` calls a custom destructor
[INFO] [stdout]     |         `cfg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |     let mut provider = match state.provider.write() {
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `provider` calls a custom destructor
[INFO] [stdout]     |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 531 |     match provider.set_model_by_provider(&req.provider, &req.model, &cfg, req.api_key.as_deref()) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 550 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout] note: `provider` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/commands.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let ctx = CommandContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |     match state.commands.execute(&name, body.args, &ctx).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                              |
[INFO] [stdout]     |           |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/commands.rs:200:58
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let ctx = CommandContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |     match state.commands.execute(&name, body.args, &ctx).await {
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/transport/rpc.rs:69:11
[INFO] [stdout]     |
[INFO] [stdout]  68 |     let handler = crate::commands::slash::SlashCommandHandler::new(provider, config);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `handler` calls a custom destructor
[INFO] [stdout]     |         `handler` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |     match handler.execute(slash_cmd).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                          |
[INFO] [stdout]     |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `handler` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/transport/rpc.rs:69:38
[INFO] [stdout]     |
[INFO] [stdout]  68 |     let handler = crate::commands::slash::SlashCommandHandler::new(provider, config);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `handler` calls a custom destructor
[INFO] [stdout]     |         `handler` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |     match handler.execute(slash_cmd).await {
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `handler` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut map = QUESTION_RESPONSES.lock().await;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `map` calls a custom destructor
[INFO] [stdout]     |         `map` will be dropped later as of Edition 2024
[INFO] [stdout] 124 |     match map.remove(tool_call_id) { Some(tx) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `map` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:103:47
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if let Ok(header_name) = reqwest::header::HeaderName::from_bytes(key.as_bytes()) {
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `header_name` calls a custom destructor
[INFO] [stdout]     |                           `header_name` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |                     if let Ok(header_value) = HeaderValue::from_str(value) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 104 |                         headers.insert(header_name, header_value);
[INFO] [stdout]     |                         -----------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 105 |                     }
[INFO] [stdout] 106 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if let Ok(header_name) = reqwest::header::HeaderName::from_bytes(key.as_bytes()) {
[INFO] [stdout]     |                           -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |              |
[INFO] [stdout]     |                           |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `header_name` calls a custom destructor
[INFO] [stdout]     |                           `header_name` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |                     if let Ok(header_value) = HeaderValue::from_str(value) {
[INFO] [stdout] 104 |                         headers.insert(header_name, header_value);
[INFO] [stdout]     |                         -----------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/skills/scanner.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 149 |     for entry in dir_entries.filter_map(|e| e.ok()) {
[INFO] [stdout]     |         -----    ----------------------------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 162 |             if let Ok(sub_entries) = fs::read_dir(&path) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 163 |                 for sub_entry in sub_entries.filter_map(|e| e.ok()) {
[INFO] [stdout]     |                     ---------    ----------------------------------
[INFO] [stdout]     |                     |            |
[INFO] [stdout]     |                     |            `iter` calls a custom destructor
[INFO] [stdout]     |                     |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `sub_entry` calls a custom destructor
[INFO] [stdout]     |                     `sub_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 174 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `sub_entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fi-code-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stderr]     Checking fi-code-tests v0.1.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Checking fi-code-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]        Fixed crates/core/src/observability/config.rs (4 fixes)
[INFO] [stderr]    Migrating crates/tui/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:90:19
[INFO] [stdout]     |
[INFO] [stdout]  90 |               match manager.connect_and_load_tools(name, server_config).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                   |
[INFO] [stdout]     |                     |                                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                     |                                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                   Ok(()) => {
[INFO] [stdout]  92 | /                     manager
[INFO] [stdout]  93 | |                         .status
[INFO] [stdout]  94 | |                         .write()
[INFO] [stdout]  95 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |   |
[INFO] [stdout]     | |                          |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                          |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                            `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 104 | /                     manager
[INFO] [stdout] 105 | |                         .status
[INFO] [stdout] 106 | |                         .write()
[INFO] [stdout] 107 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |__________________________|___|
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |__________________________|___`#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 111 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/core/src/config/mod.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:238:56
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 let client = {
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `client` calls a custom destructor
[INFO] [stdout]     |                     `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                 client.call_tool(tool_name, arguments).await
[INFO] [stdout]     |                                                        ^^^^^
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 239 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let client = {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |         match client.call_tool(tool_name, arguments.clone()).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                              |
[INFO] [stdout]     |               |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/mcp/manager.rs:225:62
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let client = {
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |         match client.call_tool(tool_name, arguments.clone()).await {
[INFO] [stdout]     |                                                              ^^^^^
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/mcp/manager.rs:258:19
[INFO] [stdout]      |
[INFO] [stdout]  256 |             tokio::time::sleep(Duration::from_secs(2_u64.pow(attempt - 1))).await;
[INFO] [stdout]      |             ---------------------------------------------------------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `__awaitee` calls a custom destructor
[INFO] [stdout]      |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  257 |
[INFO] [stdout]  258 |             match Self::create_client(server_name, config).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                        |
[INFO] [stdout]      |                   |                                        this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                   |                                        up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  259 |                 Ok(client) => {
[INFO] [stdout]      |                    ------
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    `client` calls a custom destructor
[INFO] [stdout]      |                    `client` will be dropped later as of Edition 2024
[INFO] [stdout]  260 |                     let mut clients = self.clients.write().await;
[INFO] [stdout]      |                         -----------   --------------------------
[INFO] [stdout]      |                         |             |                    |
[INFO] [stdout]      |                         |             |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |             |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         `clients` calls a custom destructor
[INFO] [stdout]      |                         `clients` will be dropped later as of Edition 2024
[INFO] [stdout]  261 |                     clients.insert(server_name.to_string(), client);
[INFO] [stdout]      |                     -----------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  262 |
[INFO] [stdout]  263 |                     let mut status = self.status.write().await;
[INFO] [stdout]      |                         ----------   -------------------------
[INFO] [stdout]      |                         |            |                   |
[INFO] [stdout]      |                         |            |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                         |            |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         |            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         |            `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         `status` calls a custom destructor
[INFO] [stdout]      |                         `status` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  269 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  279 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `clients` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `status` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]      |
[INFO] [stdout]  444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/permission/permission.rs:198:11
[INFO] [stdout]     |
[INFO] [stdout] 197 |     let mut map = PERMISSION_RESPONSES.lock().await;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `map` calls a custom destructor
[INFO] [stdout]     |         `map` will be dropped later as of Edition 2024
[INFO] [stdout] 198 |     match map.remove(tool_call_id) { Some(tx) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 207 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `map` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/anthropic_client.rs:494:29
[INFO] [stdout]     |
[INFO] [stdout] 494 |       while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                  |
[INFO] [stdout]     |                               |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 495 |           let chunk = chunk?;
[INFO] [stdout]     |               -----   ------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `chunk` calls a custom destructor
[INFO] [stdout]     |               `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 |               let json: serde_json::Value = serde_json::from_str(data)
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 529 | |                 .with_context(|| format!("Failed to parse Anthropic SSE data: {}", data))?;
[INFO] [stdout]     | |                                                                                          -
[INFO] [stdout]     | |                                                                                          |
[INFO] [stdout]     | |__________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 562 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:407:36
[INFO] [stdout]     |
[INFO] [stdout] 407 |       while let Some(chunk_result) = byte_stream.next().await {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |                  |
[INFO] [stdout]     |                                      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                      up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 408 |           let chunk = chunk_result.with_context(|| {
[INFO] [stdout]     |  _____________-----___-
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `chunk` calls a custom destructor
[INFO] [stdout]     | |             `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 409 | |             "SSE stream interrupted while reading chunk. \
[INFO] [stdout] 410 | |              This usually means the server closed the connection unexpectedly, \
[INFO] [stdout] 411 | |              or the response body could not be decoded. \
[INFO] [stdout] 412 | |              Check network stability and API availability."
[INFO] [stdout] 413 | |         })?;
[INFO] [stdout]     | |           -
[INFO] [stdout]     | |           |
[INFO] [stdout]     | |___________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |               let json: serde_json::Value = serde_json::from_str(data)
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout]     | |___________________________________________|
[INFO] [stdout] 444 | |                 .with_context(|| format!("Failed to parse OpenAI SSE data: {}", data))?;
[INFO] [stdout]     | |                                                                                       -
[INFO] [stdout]     | |_______________________________________________________________________________________|
[INFO] [stdout]     | |_______________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:957:15
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let mcp = get_mcp_manager().ok_or("MCP manager not initialized".to_string())?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `mcp` calls a custom destructor
[INFO] [stdout]     |             `mcp` will be dropped later as of Edition 2024
[INFO] [stdout] 957 |         match mcp.tool_call(name, input_json).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                               |
[INFO] [stdout]     |               |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `mcp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/tools/mod.rs:940:18
[INFO] [stdout]      |
[INFO] [stdout]  928 |         let event_tx_opt = { EVENT_TX.read().unwrap().clone() };
[INFO] [stdout]      |             ------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `event_tx_opt` calls a custom destructor
[INFO] [stdout]      |             `event_tx_opt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  940 |         match rx.await {
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  948 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:1245:1
[INFO] [stdout]      |
[INFO] [stdout] 1245 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_tx_opt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:957:47
[INFO] [stdout]     |
[INFO] [stdout] 956 |         let mcp = get_mcp_manager().ok_or("MCP manager not initialized".to_string())?;
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `mcp` calls a custom destructor
[INFO] [stdout]     |             `mcp` will be dropped later as of Edition 2024
[INFO] [stdout] 957 |         match mcp.tool_call(name, input_json).await {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 |     } else {
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `mcp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/api/chat_api.rs:531:11
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let cfg = match state.config.read() {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `cfg` calls a custom destructor
[INFO] [stdout]     |         `cfg` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |     let mut provider = match state.provider.write() {
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `provider` calls a custom destructor
[INFO] [stdout]     |         `provider` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 531 |     match provider.set_model_by_provider(&req.provider, &req.model, &cfg, req.api_key.as_deref()) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 550 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout] note: `provider` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/commands.rs:200:11
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let ctx = CommandContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |     match state.commands.execute(&name, body.args, &ctx).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                              |
[INFO] [stdout]     |           |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/commands.rs:200:58
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let ctx = CommandContext {
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `ctx` calls a custom destructor
[INFO] [stdout]     |         `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |     match state.commands.execute(&name, body.args, &ctx).await {
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/transport/rpc.rs:69:11
[INFO] [stdout]     |
[INFO] [stdout]  68 |     let handler = crate::commands::slash::SlashCommandHandler::new(provider, config);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `handler` calls a custom destructor
[INFO] [stdout]     |         `handler` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |     match handler.execute(slash_cmd).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                          |
[INFO] [stdout]     |           |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `handler` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/server/transport/rpc.rs:69:38
[INFO] [stdout]     |
[INFO] [stdout]  68 |     let handler = crate::commands::slash::SlashCommandHandler::new(provider, config);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `handler` calls a custom destructor
[INFO] [stdout]     |         `handler` will be dropped later as of Edition 2024
[INFO] [stdout]  69 |     match handler.execute(slash_cmd).await {
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  79 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `handler` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `handler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut map = QUESTION_RESPONSES.lock().await;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `map` calls a custom destructor
[INFO] [stdout]     |         `map` will be dropped later as of Edition 2024
[INFO] [stdout] 124 |     match map.remove(tool_call_id) { Some(tx) => {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `map` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:103:47
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if let Ok(header_name) = reqwest::header::HeaderName::from_bytes(key.as_bytes()) {
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `header_name` calls a custom destructor
[INFO] [stdout]     |                           `header_name` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |                     if let Ok(header_value) = HeaderValue::from_str(value) {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 104 |                         headers.insert(header_name, header_value);
[INFO] [stdout]     |                         -----------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 105 |                     }
[INFO] [stdout] 106 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/provider/client/openapi_client.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 if let Ok(header_name) = reqwest::header::HeaderName::from_bytes(key.as_bytes()) {
[INFO] [stdout]     |                           -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |              |
[INFO] [stdout]     |                           |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `header_name` calls a custom destructor
[INFO] [stdout]     |                           `header_name` will be dropped later as of Edition 2024
[INFO] [stdout] 103 |                     if let Ok(header_value) = HeaderValue::from_str(value) {
[INFO] [stdout] 104 |                         headers.insert(header_name, header_value);
[INFO] [stdout]     |                         -----------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header_name` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/skills/scanner.rs:162:38
[INFO] [stdout]     |
[INFO] [stdout] 149 |     for entry in dir_entries.filter_map(|e| e.ok()) {
[INFO] [stdout]     |         -----    ----------------------------------
[INFO] [stdout]     |         |        |
[INFO] [stdout]     |         |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `entry` calls a custom destructor
[INFO] [stdout]     |         `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 162 |             if let Ok(sub_entries) = fs::read_dir(&path) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 163 |                 for sub_entry in sub_entries.filter_map(|e| e.ok()) {
[INFO] [stdout]     |                     ---------    ----------------------------------
[INFO] [stdout]     |                     |            |
[INFO] [stdout]     |                     |            `iter` calls a custom destructor
[INFO] [stdout]     |                     |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `sub_entry` calls a custom destructor
[INFO] [stdout]     |                     `sub_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 174 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `sub_entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/tui/src/components/input.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/tui/src/client.rs:606:33
[INFO] [stdout]     |
[INFO] [stdout] 606 |         while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 607 |             let chunk = chunk?;
[INFO] [stdout]     |                 -----   ------
[INFO] [stdout]     |                 |       |
[INFO] [stdout]     |                 |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `chunk` calls a custom destructor
[INFO] [stdout]     |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |                         let _ = tx.send(AppEvent::AppendLog(line)).await;
[INFO] [stdout]     |                                 ----------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/tui/src/client.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 216 |             let chunk = chunk?;
[INFO] [stdout]     |                 -----   ------
[INFO] [stdout]     |                 |       |
[INFO] [stdout]     |                 |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `chunk` calls a custom destructor
[INFO] [stdout]     |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 276 |                         let _ = tx.send(AppEvent::SseEvent(event)).await;
[INFO] [stdout]     |                                 ----------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 294 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking fi-code-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/tui/src/client.rs:606:33
[INFO] [stdout]     |
[INFO] [stdout] 606 |         while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 607 |             let chunk = chunk?;
[INFO] [stdout]     |                 -----   ------
[INFO] [stdout]     |                 |       |
[INFO] [stdout]     |                 |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `chunk` calls a custom destructor
[INFO] [stdout]     |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 627 |                         let _ = tx.send(AppEvent::AppendLog(line)).await;
[INFO] [stdout]     |                                 ----------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 631 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/tui/src/client.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 216 |             let chunk = chunk?;
[INFO] [stdout]     |                 -----   ------
[INFO] [stdout]     |                 |       |
[INFO] [stdout]     |                 |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `chunk` calls a custom destructor
[INFO] [stdout]     |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 276 |                         let _ = tx.send(AppEvent::SseEvent(event)).await;
[INFO] [stdout]     |                                 ----------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 294 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/server/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/bdd/mod.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |               let chunk = chunk.expect("SSE stream error");
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `chunk` calls a custom destructor
[INFO] [stdout]     |                   `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                               let client = reqwest::Client::new();
[INFO] [stdout]     |                                   ------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `client` calls a custom destructor
[INFO] [stdout]     |                                   `client` will be dropped later as of Edition 2024
[INFO] [stdout] 257 |                               let _ = client
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 258 | |                                 .post(format!(
[INFO] [stdout] 259 | |                                     "http://127.0.0.1:{}/api/permission/respond",
[INFO] [stdout] 260 | |                                     self.port
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |                                 .send()
[INFO] [stdout] 267 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |                                   let client = reqwest::Client::new();
[INFO] [stdout]     |                                       ------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 291 |                                   let _ = client
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 292 | |                                     .post(format!(
[INFO] [stdout] 293 | |                                         "http://127.0.0.1:{}/api/question/respond",
[INFO] [stdout] 294 | |                                         self.port
[INFO] [stdout] ...   |
[INFO] [stdout] 300 | |                                     .send()
[INFO] [stdout] 301 | |                                     .await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |______________________________________|___|
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |______________________________________|___`#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                        |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 320 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/main.rs:40:25
[INFO] [stdout]     |
[INFO] [stdout]  39 |         let cfg = config.read().expect("config read");
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `cfg` calls a custom destructor
[INFO] [stdout]     |             `cfg` will be dropped later as of Edition 2024
[INFO] [stdout]  40 |         if let Err(e) = fi_code_core::observability::init(&cfg) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/bdd/mod.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |               let chunk = chunk.expect("SSE stream error");
[INFO] [stdout]     |                   -----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `chunk` calls a custom destructor
[INFO] [stdout]     |                   `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                               let client = reqwest::Client::new();
[INFO] [stdout]     |                                   ------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `client` calls a custom destructor
[INFO] [stdout]     |                                   `client` will be dropped later as of Edition 2024
[INFO] [stdout] 257 |                               let _ = client
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 258 | |                                 .post(format!(
[INFO] [stdout] 259 | |                                     "http://127.0.0.1:{}/api/permission/respond",
[INFO] [stdout] 260 | |                                     self.port
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |                                 .send()
[INFO] [stdout] 267 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                  |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |                                   let client = reqwest::Client::new();
[INFO] [stdout]     |                                       ------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 291 |                                   let _ = client
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 292 | |                                     .post(format!(
[INFO] [stdout] 293 | |                                         "http://127.0.0.1:{}/api/question/respond",
[INFO] [stdout] 294 | |                                         self.port
[INFO] [stdout] ...   |
[INFO] [stdout] 300 | |                                     .send()
[INFO] [stdout] 301 | |                                     .await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |______________________________________|___|
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |______________________________________|___`#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                        |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 320 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.51.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/main.rs:40:25
[INFO] [stdout]     |
[INFO] [stdout]  39 |         let cfg = config.read().expect("config read");
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `cfg` calls a custom destructor
[INFO] [stdout]     |             `cfg` will be dropped later as of Edition 2024
[INFO] [stdout]  40 |         if let Err(e) = fi_code_core::observability::init(&cfg) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `cfg` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1118:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src-tauri/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/tui/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/cli/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/cli/src/entry.rs:369:6
[INFO] [stdout]     |
[INFO] [stdout] 349 |     let client = provider.get_client()?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 370 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/bdd_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/e2e/run_e2e.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/cli/src/entry.rs:369:6
[INFO] [stdout]     |
[INFO] [stdout] 349 |     let client = provider.get_client()?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 369 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 370 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src-tauri/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8m 37s
[INFO] [stderr] crater-edition-check: fi-code-core v0.1.0 (/opt/rustwide/workdir/crates/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-shared v0.1.0 (/opt/rustwide/workdir/crates/shared) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-utils v0.1.0 (/opt/rustwide/workdir/crates/utils) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-cli v0.1.0 (/opt/rustwide/workdir/crates/cli) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-tui v0.1.0 (/opt/rustwide/workdir/crates/tui) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-server v0.1.0 (/opt/rustwide/workdir/crates/server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-desktop v0.1.0 (/opt/rustwide/workdir/src-tauri) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fi-code-tests v0.1.0 (/opt/rustwide/workdir/tests) updating edition from 2021 to 2024
[INFO] [stderr]     Checking fi-code-shared v0.1.0 (/opt/rustwide/workdir/crates/shared)
[INFO] [stderr]    Compiling fi-code-desktop v0.1.0 (/opt/rustwide/workdir/src-tauri)
[INFO] [stderr]     Checking fi-code-utils v0.1.0 (/opt/rustwide/workdir/crates/utils)
[INFO] [stderr]     Checking fi-code-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking fi-code-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stderr]     Checking fi-code-tests v0.1.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Checking fi-code-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/card_widget.rs:389:29
[INFO] [stdout]     |
[INFO] [stdout] 389 |             .map(|x| buffer.get(x, 1).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/card_widget.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |             .map(|x| buffer.get(x, 2).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/card_widget.rs:432:29
[INFO] [stdout]     |
[INFO] [stdout] 432 |             .map(|x| buffer.get(x, footer_row).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]     --> crates/tui/src/components/input.rs:1045:29
[INFO] [stdout]      |
[INFO] [stdout] 1045 |             .map(|x| buffer.get(x, 1).symbol().to_string())
[INFO] [stdout]      |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/question_dialog.rs:448:29
[INFO] [stdout]     |
[INFO] [stdout] 448 |             .map(|x| buffer.get(x, 0).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/question_dialog.rs:454:29
[INFO] [stdout]     |
[INFO] [stdout] 454 |             .map(|x| buffer.get(x, 1).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/question_dialog.rs:463:29
[INFO] [stdout]     |
[INFO] [stdout] 463 |             .map(|x| buffer.get(x, 3).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/status_bar.rs:719:29
[INFO] [stdout]     |
[INFO] [stdout] 719 |             .map(|x| buffer.get(x, 0).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get`: Use Buffer[] or Buffer::cell instead
[INFO] [stdout]    --> crates/tui/src/components/status_bar.rs:750:29
[INFO] [stdout]     |
[INFO] [stdout] 750 |             .map(|x| buffer.get(x, 0).symbol().to_string())
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tui_log` is never used
[INFO] [stdout]   --> crates/tui/src/app.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) fn tui_log(msg: &str) {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fi-code-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: function `tui_log` is never used
[INFO] [stdout]   --> crates/tui/src/app.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) fn tui_log(msg: &str) {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9m 02s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0", kill_on_drop: false }`
[INFO] [stdout] 55e0a618d0215cf9492337195c8388e03c19c025e0d974a1644f11df566da0f0
